.\"	$OpenBSD: ra.4,v 1.11 2015/02/15 22:26:45 bentley Exp $
.\"
.\" Copyright (c) 2003 Jason L. Wright (jason@thought.net)
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd $Mdocdate: February 15 2015 $
.Dt RA 4 vax
.Os
.Sh NAME
.Nm ra
.Nd MSCP disk controller interface
.Sh SYNOPSIS
.Cd "ra* at mscpbus? drive?"
.Sh DESCRIPTION
The
.Nm
device provides access to MSCP disks such as:
RC25, RX50, RD51, RD52, RD53, RA60, RA80, and RA81.
.Sh FILES
.Bl -tag -width /dev/rraXXXXX -compact
.It Pa /dev/ra Ns Ar u Ns Ar p
block mode
.Tn MSCP
disk unit
.Ar u ,
partition
.Ar p
.It Pa /dev/rra Ns Ar u Ns Ar p
raw mode
.Tn MSCP
disk unit
.Ar u ,
partition
.Ar p
.El
.Sh DIAGNOSTICS
.Bl -diag
.It "ra0: don't have a partition table for ...; using (s,t,c)=(X,Y,Z)"
The controller found a drive whose media identifier (e.g. `RA 25')
does not have a default partition table.
A temporary partition
table containing only an `a' partition has been created covering
the entire disk, which has the indicated numbers of sectors per
track (s), tracks per cylinder (t), and total cylinders (c).
Give the pack a label with the
.Xr disklabel 8
utility.
.It "ra0: drive will not come on line"
The drive will not come on line, probably because it is spun down.
This should be preceded by a message giving details as to why the
drive stayed off line.
.It "uda0: attempt to bring ra0 on line failed:  `detail'"
The drive could not be brought on line.
The
.Em detail
message tells why.
.It "uda0: ra0: unknown type N"
The type index of the named drive is not known to the driver, so the
drive will be ignored.
.It "ra0: changed types! was X now Y"
A drive somehow changed from one kind to another, e.g., from an
.Tn RA80
to an
.Tn RA60 .
The numbers printed are the encoded media identifiers (see
.In vax/mscp.h
for the encoding).
The driver believes the new type.
.It "ra0: uda0, unit N, size = N sectors"
The named drive is on the indicated controller as the given unit,
and has that many sectors of user-file area.
This is printed during configuration.
.It "ra0: bad block report: N"
The drive has reported the given block as bad.
If there are multiple bad blocks, the drive will report only the first;
in this case this message will be followed by `+ others'.
Get
.Tn DEC
to forward the
block with
.Tn EVRLK .
.It "ra0: bad lbn (N)?"
The drive has reported an invalid command error, probably due to an
invalid block number.
If the lbn value is very much greater than the
size reported by the drive, this is the problem.
It is probably due to an improperly configured partition table.
Other invalid commands indicate a bug in the driver, or hardware trouble.
.It "ra0: duplicate ONLINE ignored"
The drive has come on-line while already on-line.
This condition can probably be ignored (and has been).
.It "ra0: io done, but no buffer?"
Hardware trouble, or a bug; the drive has finished an I/O
request,
but the response has an invalid (zero) command reference number.
.It "ra0: bogus REPLACE end"
The drive has reported finishing a bad sector replacement, but the
driver never issues bad sector replacement commands.
The report is ignored.
This is likely a hardware problem.
.It "ra0: unknown opcode 0x%x status 0x%x ignored"
The drive has reported something that the driver cannot understand.
Perhaps
.Tn DEC
has been inventive, or perhaps your hardware is ill.
This is followed by a hex dump of the offending packet.
.It "ra0%c: hard error %sing fsbn N [of X-Y] (ra0 bn N cn N tn N sn N)."
An unrecoverable error occurred during transfer of the specified
filesystem block number(s),
which are logical block numbers on the indicated partition.
If the transfer involved multiple blocks, the block range is printed as well.
The parenthesized fields list the actual disk sector number
relative to the beginning of the drive,
as well as the cylinder, track and sector number of the block.
.El
.Sh SEE ALSO
.Xr mscpbus 4 ,
.Xr uda 4
